package OutputStream;

import org.junit.jupiter.api.Test;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author 王艺锡
 * @version 1.0
 * FileOutputStream以字节的形式写入文件
 */
public class FileOutputStream_ {
    public static void main(String[] args) {

    }
    /**
     * FileOutputStream 将数据写入文件中
     * 如果文件不存在，则自动创建文件
     */
@Test
    public void WriteFile01(){
        String filePath = "e:\\write.txt";
        FileOutputStream fileOutputStream = null;
        try {
            //1.new FileOutputStream(filePath)的创建方式，当写入数据的时候，是以覆盖的方式写入
            //2.new FileOutputStream(filePath,true)的创建方式，当写入的时候，是以追加的方式写入
            fileOutputStream = new FileOutputStream(filePath);
            //写入一个字节
            //fileOutputStream.write('a');
            //写入一个字符串
            String str = "Long time no see!";
            //getBytes()方法用于将字符串转为字节数组
            //fileOutputStream.write(str.getBytes());

            //从下标为5的位置，写入偏移四个字节的内容
            fileOutputStream.write(str.getBytes(),5,4);//time

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                fileOutputStream.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
